//
//  AllStudent.hpp
//  宿舍管理系统
//
//  Created by 孟强定 on 2020/6/26.
//  Copyright © 2020 mqd. All rights reserved.
//

#ifndef AllStudent_hpp
#define AllStudent_hpp

#include <stdio.h>
#include "Student.hpp"
/*
 *  AllStudent类, 将每个学生通过数组的方式连接起来
 *  提供查找、排序等方法
 *  查找空位通过链表连接
 */
class AllStudent{
private:
    Student* allStudents;
    int num, st;
public:
    AllStudent(int num=3000);
    void init(int n=3000);
    void print();
    Student* findByName(std::string s);
    Student* findById(int id);
    Student* next();
    template<typename T>
    void sort(T a[], int l,int r, bool (*cmp)(T a,T b));
    void sortByName();
    void sortById();
    void sortByRoom();
};

#endif /* AllStudent_hpp */


